Many of the common mathematical functions
used in signal processing are built-in:
sinusoids, exponentials, Bessel functions, etc.
Other functions that are not built-in, and all the common signal-processing
operators, are defined in the packages making up the context
4.
We now examine them in more detail.
<#2907#>Table<#2907#>:
<#2908#>Signal objects defined in <#101#>SignalProcessing`Support`<#101#>.
For the syntax of <#102#>CPulse<#102#>, <#103#>Dirichlet<#103#>, <#104#>FIR<#104#>,
<#105#>IIR<#105#>, <#106#>LineImpulse<#106#> and <#107#>Pulse<#107#>, consult the
on-line documentation (e.g., <#108#>?CPulse<#108#>).<#2908#>
Object |
;SPMnbsp; |
;SPMnbsp; |
Meaning |
CPulse |
;SPMnbsp; |
;SPMnbsp; |
continuous pulse: |
;SPMnbsp; |
;SPMnbsp; |
;SPMnbsp; |
~~~~#math201##tex2html_wrap_inline2817# (t) = #tex2html_wrap_inline2818##tex2html_wrap_inline2819# |
CStep |
;SPMnbsp; |
;SPMnbsp; |
continuous step function: |
;SPMnbsp; |
;SPMnbsp; |
;SPMnbsp; |
~~~~#math202#u-1(t) = #tex2html_wrap_inline2821##tex2html_wrap_inline2822# |
Delta |
;SPMnbsp; |
;SPMnbsp; |
Dirac delta function |
Dirichlet |
;SPMnbsp; |
;SPMnbsp; |
Dirichlet discrete kernel: |
;SPMnbsp; |
;SPMnbsp; |
;SPMnbsp; |
~~~~#math203#d[N, ω] = #tex2html_wrap_indisplay2824# |
;SPMnbsp; |
;SPMnbsp; |
;SPMnbsp; |
Also called the ASinc function |
Impulse |
;SPMnbsp; |
;SPMnbsp; |
Kronecker delta function |
LineImpulse |
;SPMnbsp; |
;SPMnbsp; |
m-D delta function, e.g. #math204#δ(t1 - t2) |
Pulse |
;SPMnbsp; |
;SPMnbsp; |
discrete pulse: |
;SPMnbsp; |
;SPMnbsp; |
;SPMnbsp; |
~~~~#math205##tex2html_wrap_inline2827# [n] = #tex2html_wrap_inline2828##tex2html_wrap_inline2829# |
Sinc |
;SPMnbsp; |
;SPMnbsp; |
#math206# sinc(t)≡sin(t)/t so #math207# sinc(0) = 1 |
Step |
;SPMnbsp; |
;SPMnbsp; |
discrete step function: |
;SPMnbsp; |
;SPMnbsp; |
;SPMnbsp; |
~~~~#math208#u[n] = #tex2html_wrap_inline2833##tex2html_wrap_inline2834# |
Unit |
;SPMnbsp; |
;SPMnbsp; |
family of functions which |
;SPMnbsp; |
;SPMnbsp; |
;SPMnbsp; |
includes CStep and Delta |
|
Table 1 lists the twelve new functions.
There are discrete and continuous versions of the impulse
(5 and 6), step (7 and 8), and
pulse functions (9 and 10).
The family of unit functions 11 generalizes
12 and 13:~ u-1 is the continuous step function,
#math209#u0 = δ is the Dirac delta, and uk is defined inductively by
#math210#uk(t) = duk-1(t)/dt.
For k≥ 0 these are really generalized functions, in the sense that
they must be integrated with another function in order to give a
number:~ thus the Dirac delta is defined by the condition #math211##tex2html_wrap_inline2916#δ(t)f (t) dt = f (0) for every function f.
The multidimensional impulse function 14 is a
generalization of the Dirac delta to several dimensions.
The function #math212#sinc#tex2html_wrap_inline2919#t = sin(t)/t (usually defined as #math213#sin(πt)/(πt)),
and the related <#1154#>aliased sinc<#1154#> function, also known as the
<#1155#>Dirichlet kernel<#1155#>, occur so commonly in signal processing that
they deserve their own primitives, 15 and 16
(alternatively 17 or 18).
Finally, the finite and infinite impulse-response functions,
19 and 20 for digital filters and
21 and 22 for analog filters,
are unique to the field of signal processing; they
represent the impulse response of an all-pole filter
(infinite in extent) and of an all-zero filter (finite in extent),
respectively [Myers 1986].
For these objects, the first argument gives the variable, and the second
is a list giving the gain and minus the feedback coefficients; for example,
23 represents a digital filter with a gain of 1/1 and
feedback coefficients of #math214#- #tex2html_wrap_inline2922# and #math215#- #tex2html_wrap_inline2924#.
This means that the filter's input response is the solution h[n] of the
difference equation #math216#h[n] = δ[n] + #tex2html_wrap_inline2927#h[n - 1] + #tex2html_wrap_inline2928#h[n - 2],
with #math217#h[- 1] = h[- 2] = 0.
Likewise, the object 24 represents an analog
filter that corresponds to the differential equation
#math218#h(t) = δ(t) + #tex2html_wrap_inline2931#h'(t) + #tex2html_wrap_inline2932#h''(t)
with h(t) ;SPMlt; 0 for t ;SPMlt; 0.
CIIR and CFIR objects can also be specified in terms of their roots.
For example, <#985#>CIIR[t, Roots -;SPMgt; <#120#>-1, -2, -3<#120#>]<#985#> yields
<#986#>CIIR[t, <#121#>6, 11, 6, 1<#121#>]<#986#>--- the roots are embedded in the filter
but not displayed.
To see the entire data structure, use <#122#>FullForm<#122#>.
Applying <#123#>TheFunction<#123#> to these filters will generate a time-domain
function corresponding to their impulse response.
Thus, the time-response of filters can be plotted using <#124#>SignalPlot<#124#>
and <#125#>SequencePlot<#125#> for analog and digital filters, respectively.
An expression with head 25 or 26 can also be seen as
the operator of convolution with the respective functions; that is,
when 27 or 28 operate on a signal, the operation can
be seen as the action of a filter with the specified zeros or poles.
The filter can be analog or digital, depending on what it is applied
to; for example, 29 represents
the output of the filter described in the previous paragraph, when the
input is anu[n].
This filter is digital only because of the
presence of the discrete step function.